# 07 — Future Work Items deferred from the 2026-05-25/26 build. Roughly ordered by value-per-effort. ## 1. Settlement-spot replay mode **Today:** when running `dashboard_visual.py --date 2026-05-22` we still use *live* Schwab spot, which is wrong for a back-dated view. **Fix:** if `--date` is past, pull the underlying futures' settlement price from DataBento for that date instead of Schwab live quote. **Effort:** ~30 min. One extra query per symbol, swap `get_spot_via_schwab` for a `get_spot_via_databento_settlement(symbol, date)` helper when date is non-today. **Why bother:** for exact replication of how levels looked AT the close of that day — useful when comparing to a screenshot or evaluating a level retroactively. ## 2. RUT (RTY proxy) weekly parents **Today:** RUT 0DTE and 7DTE buckets are empty. We only pull `RUT.OPT`, which is monthlies. Weekly RUT (RUTW) is under a separate parent. **Fix:** verify the DataBento parent for RUT weeklies (`RUTW.OPT`?), add to `UNDERLYINGS` like we did for ES/NQ. **Effort:** 15 min. One symbology test + one config line. **Why bother:** completes the RTY tab for short-DTE views. ## 3. SPX/NDX as visible tabs in `dashboard_visual.py` **Today:** SPX and NDX show up in `dashboard_db.py` but not in `dashboard_visual.py` — I dropped them to keep it ES/NQ/RTY/GC like the screenshot. **Fix:** add bonus tabs. Or a `--include-cash` flag that adds them. **Effort:** 15 min. **Why bother:** cross-checking ES against SPX dealer positioning is informative (sometimes they diverge — early warning). ## 4. Live MBO intraday-OI correction (the QuantVue capability) **Today:** OI is daily settlement, drifts intraday. **Fix:** subscribe to OPRA / CME live MBO, track opening-vs-closing trades to adjust settlement OI each minute. Recompute GEX dynamically. **Effort:** 2-3 days. Substantial — WebSocket pipeline, message buffering, OI delta accounting. **Cost:** live OPRA subscription tier (separately priced — check portal). **Why bother:** matches SpotGamma Pro and QuantVue intraday. Closes the only meaningful capability gap. ## 5. Historical level snapshot store **Today:** every dashboard run writes a new HTML to `reports/` but nothing's queryable historically. **Fix:** also write a normalised parquet/JSON record per (date, symbol, bucket) → small file with the headline metrics. Enables "show me where flip / walls were each day for the past month" charts. **Effort:** 1-2 hours. **Why bother:** answer questions like "how often does price touch the call wall and reverse?" ## 6. Strike-clustering for too-busy charts **Today:** the per-strike bar charts can get crowded — SPX has 1000+ strikes within 15% of spot. **Fix:** auto-bucket strikes when count exceeds a threshold (e.g., into 5-pt or 10-pt bins). Or apply a configurable strike step. **Effort:** 30 min. ## 7. Tweak gamma-flip definition toward SpotGamma's model-based version **Today:** flip = cumulative-GEX zero crossing nearest spot. **SpotGamma's:** spot level where total dealer gamma *recomputed at that hypothetical spot* equals zero. **Effort:** ~1 hour. Iterate over candidate spots, recompute γ per strike at each candidate, find zero. **Why bother:** flip numbers would match SpotGamma's published values more closely. The regime call is usually the same regardless of definition. ## 8. Better narrative templating **Today:** regime banner has a static text per positive/negative. The earlier `options_metrics.narrative()` (used by the older single-symbol report) is more useful — generates a per-run "Key Takeaways" bullet list. **Fix:** port it into the visual dashboard as a "Key Takeaways" section. Reuse the same logic. **Effort:** 30 min. ## 9. Auto-refresh / schedule **Today:** must manually `python dashboard_visual.py` each morning. **Fix:** schedule via cron or the harness `/schedule` skill to fire each pre-market. Pin output filename to today so the same browser tab always finds the latest report. **Effort:** 15 min for cron; 30 min for a stable-name latest-report symlink. ## 10. Volatility surface / IV smile fit **Today:** each strike's IV is recovered independently from its own mid — illiquid wings have noisy IVs. **Fix:** fit a parametric smile (SVI or similar) across the chain, smooth out noise. **Effort:** 1-2 days. Real numerical work. **Why bother:** more reliable gammas in the wings → better walls in low-OI strikes. ## 11. SG combo-strike (C1-C4) formula reverse-engineering **Today:** L1-L4 cracked for ETFs (`call_oi + put_oi` rank matches 3/4 strikes); C1-C4 unsolved. SG's published values are off-grid (e.g., SPX C1 = 7503 isn't a valid 5-pt-increment SPX strike) and have varying SPX/SPY conversion ratios (10.024 to 10.153 across C1-C4 on 2026-05-26), indicating an OI-weighted centroid interpolation, not a simple merge. **Status:** see [[09 - SpotGamma Tracking & Reverse Engineering]] for full analysis. No public reverse-engineering exists (community projects all stop at single-product GEX). **Effort:** ~1-2 weeks of paired daily data collection (already started via `level_tracking.jsonl` on 2026-05-26) + kernel-density-estimate peak-finding + cross-day validation. Original research. **Why bother:** if we crack this, our dashboard's L1-L4 / C1-C4 levels would match SG's exactly across all symbols, and we'd genuinely no longer need their subscription for level generation. ## 12. SG-vs-ours scoring framework **Today:** raw tracking data accumulating to `reports/level_tracking.jsonl`, but no automated comparison/scoring yet. **Plan:** weekly script that pulls intraday Schwab price history for each tracking-day's underlyings, checks: - Hit rate (did spot touch each published level?) - Hold rate (once touched, did walls reverse / regime hold?) - Vol-Trigger regime accuracy (positive-gamma days have low realized vol, negative-gamma days have high) **Effort:** ~3-4 hours once we have 2 weeks of data. **Output:** "leaderboard" telling us which methodology actually predicts price action better — SG's vs ours per metric per symbol. ## 13. RUT/IWM scale drift study **Today:** RUT.OPT and IWM both pulled daily, with the ratio logged to `rut_iwm_scale_tracking.jsonl`. Initial ratio on 2026-05-26 = 10.06 (vs theoretical 10.243). **Plan:** after 5-10 trading days, analyze ratio stability per metric (top CW, top PW, flip, abs gamma). If the ratio is stable within ±2% across days, we can switch RTY back to IWM via Schwab (free) with a multiplier in display logic and save $7/mo. If it drifts wildly, RUT.OPT stays. **Effort:** trivial Python script after data collected. ## What's explicitly NOT planned - **Backtesting.** This is a real-time signal generator, not a strategy backtester. The Qi/NADRO pipelines handle backtesting. - **Auto-trading.** Levels feed discretionary or rule-based trading; the dashboard is informational. - **Mobile UI.** The HTML is responsive, but I'm not building a native app. - **Subscription productization.** This is a personal tool. If a friend wants similar, share the code, not access to my data feed. ## See also - [[00 - Overview]] - [[05 - Dashboards & Run Guide]] - [[06 - Cost & Budget]] - [[ATS 2.0 Trading System]] — QuantVue's path that this approximates